// Package router
// @Title router[简述该包的主要作用]
// @Description
// @Author  cnHuaShao
// @since v0.0.1
// @Version v1.0.0
// @Date 2024/4/21 22:35
// @Update 2024/4/21 22:35
package router

import (
	"FinancialManagement/src/base/baselog"
	"FinancialManagement/src/base/mess"
	"github.com/gin-gonic/gin"
	"go.uber.org/zap"
	"net/http"
	"runtime/debug"
)

// errorHttp 统一500错误处理函数
func errorHttp(c *gin.Context) {
	defer func() {
		if r := recover(); r != nil {
			// 打印错误堆栈信息
			baselog.Logger.Error("500 error: ", zap.Any("panic", r))
			debug.PrintStack()
			c.JSON(http.StatusInternalServerError, mess.ResErrMess(70010051001, "服务器错误"))
		}
	}()
	// 加载完 defer recover，继续后续接口调用
	c.Next()
}
